C is case-sensitive, so it is legal to declare a variable - person - of type Person. In this case, the '*' ("that which is pointed to by") operator is used to indicate that person is a POINTER to a Person object. A pointer is a variable (usually using a long integer internal representation) which may contain the address of a value. Therefore, this declaration only allocates space for a machine address, NOT a Person object or its instance variables. (In truth, the Macintosh implementation of an "indirect" object is slightly different, but this will not concern us quite yet*.)
The 'new()' function is contained in the oops library in TC and is declared in the file oops.h. (In C++, 'new' is an operator rather than a function, so no declaration is needed.) In this case, it allocates space for a Person object (i.e., two integer instance variables plus "housekeeping" values used by TC) and returns the machine address where this newly-created object begins. The object may be accessed via the person pointer as discussed below.